One of two parallelization methods—referred to as internal or external parallelization, depending on type—may be employed when running a distributed simulation. Current simulation implementations tie the parallelization method and model simulation together, allowing for greater efficiencies and faster computation times to be realized when a proper parallelization method is selected for a particular model. However, realizing such efficiencies and faster computation times requires that a parallelization method be chosen in advance of running the simulation.
While a proper choice in the underlying parallelization method can, depending on the model being simulated, significantly reduce its memory consumption and overall run time, an a priori estimate of the optimality of choosing either method is generally computationally prohibitive because it can take as much, or more, time as running the simulation itself.